/*
 *
 * WeatherCondition
 *
 * Copyright 2008-2009 Centro Andaluz de Innovación y Tecnologías de la
 * Información y las Comunicaciones (CITIC). All Rights Reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
 *
 * Please contact CITIC - Edificio CITIC, C/ Marie Curie, 6 Parque
 * Tecnológico de Andalucía 29590 - Campanillas, Málaga, Spain
 * or visit www.citic.es, if you need additional information or
 * have any questions.
 */

package es.citic.puedes.weatherservice.model;

import java.util.List;

public class WeatherCondition {
	private List<Weather> weatherCondition;
	private String location;
	private String country;
	private Weather lastWeatherObservation;

	/**
	 * Empty constructor
	 */
	public WeatherCondition() {
		this.weatherCondition = null;
		this.location = null;
		this.country = null;
		this.lastWeatherObservation = null;
	}

	/**
	 * Constructor with parameters
	 * 
	 * @param lastWeatherObservation
	 *            for current day
	 * @param weatherCondition
	 * @param location
	 * @param country
	 */
	public WeatherCondition(Weather lastWeatherObservation,
			List<Weather> weatherCondition, String location, String country) {
		this.lastWeatherObservation = lastWeatherObservation;
		this.weatherCondition = weatherCondition;
		this.location = location;
		this.country = country;
	}

	/**
	 * Get weather condition
	 * 
	 * @return weatherCondition List of weather condition for each days
	 */
	public List<Weather> getWeatherCondition() {
		return this.weatherCondition;
	}

	/**
	 * Get location
	 * 
	 * @return location Location name
	 */
	public String getLocation() {
		return this.location.trim();
	}

	/**
	 * Get country
	 * 
	 * @return country Country name
	 */
	public String getCountry() {
		return this.country.trim();
	}

	/**
	 * Get LastWeatherObservation for current day
	 * 
	 * @return LastWeatherObservation Last Weather Observation for current day
	 */
	public Weather getLastWeatherObservation() {
		return this.lastWeatherObservation;
	}

	/**
	 * Set weather conditions for days
	 * 
	 * @param weatherCondition
	 *            List of weather condition for each day
	 */
	public void setWeatherCondition(List<Weather> weatherCondition) {
		this.weatherCondition = weatherCondition;
	}

	/**
	 * Set country
	 * 
	 * @param country
	 *            Country name
	 */
	public void setCountry(String country) {
		this.country = country;
	}

	/**
	 * Set location
	 * 
	 * @param location
	 *            Location name
	 */
	public void setLocation(String location) {
		this.location = location;
	}

	/**
	 * Set lastWeatherObservation for current day
	 * 
	 * @param lastWeatherObservation
	 *            Last Weather Observation for current day
	 */
	public void setLastWeatherObservation(Weather lastWeatherObservation) {
		this.lastWeatherObservation = lastWeatherObservation;
	}

	public String toString() {
		return "Location:" + this.location + ", Country:" + this.country
				+ ", Weather:" + this.lastWeatherObservation.toString();
	}

}
